What are some of the key elements that contribute